﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace StockLearner
{
    class Agent
    {
        public Agent()
        {
        }

        public virtual List<YahooDataPoint> act(List<YahooDataPoint> p_state)
        {
            List<YahooDataPoint> l_toReturn = new List<YahooDataPoint>();
            YahooDataPoint l_initState = p_state[p_state.Count - 1];
            YahooDataPoint l_toAdd = new YahooDataPoint();
            l_toAdd.High = l_initState.High;
            l_toAdd.Low = l_initState.Low;
            l_toAdd.Open = l_initState.Open;
            l_toAdd.Volume = l_initState.Volume;
            l_toAdd.Close = l_initState.Close;
            l_toAdd.Timestamp = Utils.AddMinutesUnixTimeStamp(l_initState.Timestamp, 30.0);

            l_toReturn.Add(l_toAdd);
            return l_toReturn;
        }

        public virtual void processReward(List<YahooDataPoint> p_pred_a, List<YahooDataPoint> p_s, List<YahooDataPoint> p_sPrime)
        {

        }

        public virtual void saveKnowledge()
        {
        }
    }
}
